package com.budwk.app.sqfwV2.dto.entity;

import com.alibaba.fastjson.JSONObject;
import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * summary表草稿实体
 */
@Data
@Accessors(chain = true)
@Table("shequ.assistance_form_summary_draft")
@Comment("summary表草稿实体")
@ApiModel(description = "summary表草稿实体")
public class AssistanceFormSummaryDraft implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.CHAR, width = 32)
    @PrevInsert(els = {@EL("snowflake()")}, nullEffective = true)
    private String id;

    @Column("unit_id")
    @Comment("单位id")
    @ApiModelProperty(description = "单位id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String unitId;

    @Column("type")
    @Comment("类型 门前三包等")
    @ApiModelProperty(description = "类型 门前三包等")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String type;

    @Column("fill_date")
    @Comment("填表日期")
    @ApiModelProperty(description = "填表日期")
    @ColDefine(type = ColType.DATETIME)
    private LocalDateTime fillDate;

    @Column("province")
    @Comment("省份")
    @ApiModelProperty(description = "省份")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String province;

    @Column("city")
    @Comment("市")
    @ApiModelProperty(description = "市")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String city;

    @Column("district")
    @Comment("区")
    @ApiModelProperty(description = "区")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String district;

    @Column("county")
    @Comment("街道")
    @ApiModelProperty(description = "街道")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String county;

    @Column("community")
    @Comment("社区")
    @ApiModelProperty(description = "社区")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String community;

    @Column("longitude")
    @Comment("经度")
    @ApiModelProperty(description = "经度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String longitude;

    @Column("latitude")
    @Comment("纬度")
    @ApiModelProperty(description = "纬度")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String latitude;

    @Column("param_data")
    @Comment("param_data")
    @ApiModelProperty(description = "param_data")
    @ColDefine(type = ColType.PSQL_JSON)
    private JSONObject paramData;

    @Column("create_date")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime createDate;

    @Column("create_by")
    @Comment("上传人")
    @ApiModelProperty(description = "上传人")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String createBy;

    @Column("update_date")
    @Comment("更新时间")
    @ApiModelProperty(description = "更新时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime updateDate;

    @Column("update_by")
    @Comment("修改人id")
    @ApiModelProperty(description = "修改人id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String updateBy;

    @ApiModelProperty(description = "更新人")
    private String updateName;
}
